Thema: Continuous ‚Everything‘

Agiles Testen: Pair testing in KBUnit

In der Softwareentwicklung werden insbesondere in agilen Projekten diverse Unit Tests im Qualitätssicherungsprozess intensiv eingesetzt. Ebenso ist die Notwendigkeit erkannt worden, Personen mit fachlicher Expertise so früh wie möglich in den Prozess des Softwaretestens, am besten gleich zusammen mit den Entwicklern bei der Durchführung von Unit Tests, einzubinden (DevOps), um Anforderungen wie kurze Projektentwicklungszyklen und Flexibilität gegenüber Kundenwünschen erfüllen zu können.

In der Praxis steigen aber Personen mit fachlicher Expertise wie beispielsweise Softwaretester, in diesem Beitrag mit Wissensträger bezeichnet, häufig wegen fehlender Programmierkenntnisse frühestens bei der Durchführung von Akzeptanztests in den Prozess des Softwaretestens ein, zu spät, um auf die entdeckten Fehler ohne größeren Zeitverlust reagieren zu können. Es besteht zusätzlich das Interesse, dass die Transparenz in der Qualitätssicherung erhöht wird.

Um die Situation entscheidend zu verbessern, wird in diesem Beitrag ein Prozess für die Durchführung von Unit Tests vorgestellt, welcher beschreibt, wie Entwickler und Wissensträger gemeinsam Unit Tests erstellen können und jeweils ihre Expertise, Programmierkenntnisse auf der einen Seite und fachliches Know How auf der anderen Seite, einfließen lassen können [OG17].

Zur Unterstützung dieses Prozesses wurde die Java-Anwendung KBUnit (Knowledge Based Unit Testing Application) entwickelt, welche ebenfalls in diesem Beitrag vorgestellt wird. Diese Anwendung bietet zusätzlich eine Möglichkeit der Testfallgenerierung an. Der für die Generierung zugrundeliegende Algorithmus wurde in Anlehnung an Äquivalenzklassentests und Grenzwertbetrachtung entwickelt. Die Integration von KBUnit in die täglichen Arbeitsabläufe in der Praxis wird zur Diskussion gestellt.

Prof. Dr. Ursusla Oesing

Prof. Dr. Ursula Oesing lehrt und forscht an der Hochschule Bochum zu den Themen Software Engineering und Software-Qualität, insbesondere funktionale Softwaretests. Sie studierte und promovierte in Mathematik an der Universität Bochum. Vor der Tätigkeit an der Hochschule Bochum arbeitete sie viele Jahre in unterschiedlichen Firmen in diversen Bereichen der Softwareentwicklung.